package com.cr.business.service;

import java.util.List;
import com.cr.business.domain.TbProductInfo;
import com.cr.business.domain.dto.ProductReqDto;
import com.cr.business.domain.vo.AppProductOptionData;

/**
 * 产品信息Service接口
 * 
 * @author tang
 * @date 2025-08-19
 */
public interface ITbProductInfoService 
{

    /**
     * 查询产品信息列表
     *
     * @param dto 查询参数
     * @return 产品信息集合
     */
    List<TbProductInfo> selectTbProductInfoList(ProductReqDto dto);

    /**
     * 新增产品信息
     * 
     * @param tbProductInfo 产品信息
     * @return 结果
     */
    int insertTbProductInfo(TbProductInfo tbProductInfo);

    /**
     * 修改产品信息
     * 
     * @param tbProductInfo 产品信息
     * @return 结果
     */
    int updateTbProductInfo(TbProductInfo tbProductInfo);

    /**
     * 批量删除产品信息
     * 
     * @param proIds 需要删除的产品信息主键集合
     * @return 结果
     */
    int deleteTbProductInfoByProIds(String[] proIds);

    /**
     * app端搜索产品下拉数据
     * @param name 产品名称
     */
    List<AppProductOptionData> getAppOptionData(String name);

    /**
     * 获取热门产品
     */
    List<AppProductOptionData> getPopularProducts();
}
